The present invention generally relates to object base data processing apparatuses. More particularly, the present invention relates to an object base data processing apparatus which stores a method and/or class which realizes each process as one object in an information group of a procedural world. A desired target process is modeled by a static model and a dynamic model so that it is possible to freely cope with various requests of the desired target process. The static model is a model of the relationship including upper layer and lower layer relationships among the class and/or method groups, the dynamic model is a model of the time sequential relationship among the instance groups, and the layer indicates the layer of a hierarchy relationship.
First, a description will be given of a conceivable method of forming a capsule of objects, with reference to FIGS. 1A through 1C.
For example, execution process data 214 are made up of a series of instructions (or instruction groups) 250(1)-(5) shown in FIG. 1A which are serialized in the processing sequence. A number of such instructions (or instruction groups) 250 form a processing unit 251 which executes a predetermined process, or specifically, makes a certain behavior.
Accordingly, the execution process data 214 shown in FIG. 1A may be regarded as a collection of the processing units 251(1)-n which are serialized in the processing sequence as shown in FIG. 1B, where each processing unit 251 makes a certain behavior. The serialized execution process data 214 shown in FIG. 1B as a whole carry out a specific operation. Hence, the execution process data 214 for carrying out another specific operation is a connection of the processing units 251 (1)-n having a different combination.
As the number of existing processing units 251 which make different behaviors becomes large, the individual processing units 251i are integrated under a predetermined method M as shown in FIG. 1C, so as to obtain an integrated processing unit group which carries out the same operation as the execution process data 214 shown in FIG. 1B.
Next, a description will be given of particular examples of the relationships of the object, the object command and the object part.
FIG. 2 shows a real world, or more specifically, an example of a model for departments of a company. Within a box 610 representing "employees" in FIG. 2, there is a "secretary" 614 belonging to a "work type=1" 612, a "leader" 618 belonging to a "work type=2" 616, and a worker 622 belonging to a "work type=3" 620. A box representing "employees" 610 belongs to a box representing a "team" 602.
The "leader" 618 is related to the "team" 602 under the relationship "team leader" 608. In addition, the "worker" 622 is related to a "machine" 630 under the relationship "worker/machine" 628 within the box representing "work unit" 640.
The "team" 602 and the "machine" 630 are related under the relationship "workshop of machine" 624. The "worker" 622 and the "machine" 630 are related under the relationship "worker/machine" 628. In addition, the "employee" 610 and the "department/employee" 604 are related under the relationship "department" 606.
Furthermore, the "employee" 610 and the "position" 636 are related under the relationship "employee/attribute" 632. The "work unit" 640 and the "part" 638 are related under the relationship "work unit/part" 634.
The following relationships also exist.
(1) The "department" 606 is related to the object "department name" 650 and the object "dollars" 652.
(2) The "team" 602 is related to the object "name" 654 by a team identification number, related to the object "employee no." 656 by the work type, related to the object "code" 658, "name" 660 and the object "surname" 662 by the name, related to the object "dollars" 664 by the salary, related to the object "dollars" 666 by the average salary, and related to the object "no." 668 by the average number of departments.
(3) The "secretary" 614 is related to the object "no." 670 by the typing speed.
(4) The "position" 636 is related to the object "name" 672 by the name, and related to the object "year" 674 by the age.
(5) The "part" 638 is related to the object "no." 676 and the object "dollars" 690.
(6) The "work unit/part" 634 is related to the object "no." 688 by the volume.
(7) The "work unit" 640 is related to the object "time" 686 by the required time.
(8) The "machine" 630 is related to the object "machine no." 680, the object "value dollars" 682 and the object "machine name" 684.
(9) The "machine/work" 626 is related to the object "time" 678 by the time used.
The model shown in FIG. 2 can generally be represented as shown in FIG. 3 if the "behavior" (or method) is indicated by a circular box, the "data" is indicated by a rectangular box, and the "relationship" is indicated by a rhombic box. In other words, (1) a method "a" 702 and a data "I" 704 are combined and function as one larger data "IV" 706, (2) methods "b" 708 and "c" 714 are related to a data "II" 712 by a relationship "a" 710 and function as one large data "V" 716, (3) methods "c" 714 and "d" 726 are related to a data "III" 730 by a relationship ".beta." 728 and function as one larger data "VI" 724, and (4) a method "e" 720 is related to data "IV" 706 and "V" 716 by a relationship ".gamma." 718 and function as still a larger data "VII" 722. In other words, the behaviors (or methods) are gathered and represented as a larger group.
Each circular shape, rectangular box and rhombic box shown in FIG. 3 can be treated as an individual object.
The forming of a capsule shown in FIG. 4A will now be considered for a collection of the method "a" 702 and the data "I" 704 shown in FIG. 3. In FIG. 4A, an opening is formed at the top of the capsule to indicate that a message communication can be made. If this opening of the capsule were closed as shown on the left side of FIG. 4B, such a capsule would then correspond to the data "IV" 706 which is a collection of the method "a" 702 and the data "I" 704 in FIG. 3. If a composite object is obtained by adding a method "M.sub.1 " 746 to the data "D.sub.2 " 748 (capsule) shown on the left side of FIG. 4B, the data shown at the central part of FIG. 4B is obtained. Further, if a composite object is obtained by further adding a method to the data shown at the central part of FIG. 4B, the data shown on the right side of FIG. 4B is obtained. Hence, FIG. 4B shows the formation of composite objects by successively adding methods.
The formation of the composite objects is not limited to that shown in FIG. 4B. For example, the composite objects may be formed as shown in FIG. 4C. In FIG. 4C, the data "D.sub.1 " 762 of the object shown on the leftmost side is replaced by an object which is made up of a method M.sub.2 766 and a data D.sub.2 768, as shown on the second leftmost side. In this case, a message passing is required between a method "M1" 760 and a data "D1" 762, and the method "M1" 760 becomes one object 780 as shown on the second rightmost side in FIG. 4C. As a result, objects "A" 780 and "B" 762 exist within an object "C" 764, and the message passing exists between the objects "A" 780 and "B" 762.
Furthermore, if the method "M.sub.2 " 766 of the object "B" 762 is replaced by an object "B1" 786 and the data "D.sub.2 " 768 of the object "B" 762 is replaced by an object "B2" 788, both the object "B1" 786 and "B2" 788 exist within the object "B" 762 and the message passing exists between the objects "B1" 786 and "B2" 788 as shown on the rightmost side in FIG. 4C.
Therefore, the composite objects are formed by successively combining the objects. For example, the so-called primitive objects which will be described later are combined to form a capsule object, the capsule objects are combined to form an event object, and the event objects are combined to form a system object.
The data "D" described above generally includes a plurality of processing units which are the subject of the processing. On the other hand, the method "M" may be considered as information or information group instructing how the plurality of processing units are to be utilized. The object which is represented in FIG. 4 is a "processing unit" which is treated as an individual "processing unit" or a collection of "individual processing units".
As shown in FIG. 3, the individual objects "I" 704, "II" 712 and "III" 730 form a part of the larger objects "IV" 706, "V" 716 and "VI" 724. In addition, the objects "IV" 706, "V" 716 and "VI" 724 form a part of still a larger object "VII" 722. In other words, the objects "IV" 706, "V" 716 and "VI" 724 are in an "is-a" relationship or a "part-of" relationship with the object "VII" 722 when viewed from the object "VII" 722.
If the objects "I" 704, "II" 712 and "III" 730 are regarded as minimum units, these objects "I", "II" and "III" may be said to be primitive objects. The capsule object is formed by a collection of such primitive objects. The event object is formed by a collection of such capsule objects. Furthermore, a still larger system object is formed by a collection of such event objects.
The objects described above which are made up of a collection of smaller objects are respectively referred to as a composite object. The primitive object is included in the concept of the composite object. However, the primitive object is an object of the minimum unit as described above. For this reason, when a reference is generally made to a "composite object" or an "object", it is better to exclude the primitive object which exists by itself and cannot be decomposed further.
The object in the capsule form is generally made up of the composite objects described above in the capsule form.
The individual objects can be represented by the following model. That is, FIG. 5 is a diagram for explaining the object as a model.
A thing of the real world 800, such as a photograph 802, can be specified by a name 804 which describes the photograph 802, and a nature 806 of the photograph 802. The nature 806 of the photograph 802 indicates what kind of picture the photograph 802 is, such as the person who took the picture and the time when the picture was taken. Hence, the photograph 802 can be represented by a model using (i) a command 808 which is used as the name specifying the photograph, (ii) an actual picture (entity data) 810 of the photograph formed by black and white dots, and (iii) a link 812 which describes the nature 806 of the photograph, the location where the actual picture is stored, the relationship of the people in the photograph and the like.
The individual object described above can also be represented by a model such as that shown in FIG. 5 using the command 808, the link 812 and the entity data 810.
FIG. 6 is a diagram for explaining the functions of the object as a model. As shown on the left side of FIG. 6, the object can be described using the common 808, the link 812 and the entity data 810. It may be regarded the dot data 820 shown in FIG. 6 is given to the entity data 810. The capsule object, the event object and the system object are generally given a description specifying other objects X 822, Y 824 and Z 826 as the entity data, related to these other objects X 822, Y 824 and Z 826, and use entity data x 830, y 832 and z 834 of these other objects X 822, Y 824 and Z 826 as shown on the right side of FIG. 6.
A method of treating as one processing unit, an object part which is written with entity data and meta-data, was previously proposed in an United States Patent Application (Serial Number not yet known) filed Aug. 26, 1993 and entitled "DATA PROCESSING APPARATUS FOR CARRYING OUT PROCESS BY COMBINING OBJECTS" in which the assignee is the same as the assignee of the present application, the disclosure of which is hereby incorporated by reference.
FIG. 7 is a diagram for explaining a process of treating the object. An object command 201 shown in FIG. 7 is the same as the commands 808 shown in FIGS. 5 and 6. In other words, the object command 201 is the name for specifying the object. A meta-data 202 shown in FIG. 7 corresponds to the links 812 shown in FIGS. 5 and 6. That is, the meta-data 202 is a data (description of real data) describing the real data with significance, such as the name, comment and command. In addition, the "is-a" hierarchy relationship, the "part-of" hierarchy relationship, and the sequential relationship between the objects are described in the meta-data 202. The comment is a description which significantly describes what the real data is when describing the real data. In other words, the comment may take the form of a general flow chart, a detailed flow chart or a source program. An entity data (real data) 203 shown in FIG. 7 corresponds to the entity data 810 shown in FIGS. 5 and 6, and the program for executing the process is treated as one real data.
A command/link processor 204 shown in FIG. 7 is also referred to as a directory processor. When one new object is formed, a command (also referred to as an object command) which is the name of this object is set. In addition, storage locations for the real data 203 and the meta-data 202 are allocated, and a command/link table is formed. In this case, the type of object is determined, thereby determining the size of the object. Then, measures are taken so that a combination of the meta-data 202 and the real data (entity data) 203 can be input and output using the command/link table. Further, the input/output process is carried out. The above combination of the meta-data 202 and the real data 203 will be named an object part 206. The object part 206 can be specified using the object command.
Therefore, the collection of objects or the composite object is appropriately combined in a modifiable manner depending on the needs, so as to execute the desired process.
As described above in conjunction with FIG. 1, it is conceivable to form a collection of the individual processing units and consider the collection as a whole as the target process. However, even if it were conceivable to consider giving the entire requested target process by the collection of the individual processing units 251 (as shown in FIGS. 1A-C), the individual processing units 251 would simply be connected according to the requested target process each time. For this reason, only a temporizing solution is given each time for every target process, and the past efforts are not reflected to the next design.